package com.dkd.day20250715;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main21 {
    public static void main(String[] args) {
        //给定一个非空字符串S，其被N个‘-’分隔成N+1的子串，给定正整数K，要求除第一个子串外，其余的子串每K个字符组成新的子串，
        // 并用‘-’分隔。对于新组成的每一个子串
        // ，如果它含有的小写字母比大写字母多，则将这个子串的所有大写字母转换为小写字母；反之，如果它含有的大写字母比小写字母多，则将这个子串的所有小写字母转换为大写字母；大小写字母的数量相等时，不做转换
        //
        //输入描述
        //输入为两行，第一行为参数K，第二行为字符串S
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String s = sc.next();
        String [] strs =s.split("-");
        sc.close();
        solve(n, strs);

    }

    public static void solve(int n, String[] strs){
        //字符串
        String s1 = strs[0];
        List<String> strs2 = new ArrayList<String>();
        strs2.add(s1);
        StringBuilder sb = new StringBuilder();
        for(int i = 1; i < strs.length; i++){
            sb.append(strs[i]);
        }
        String str = sb.toString();
        sb.setLength(0);
        //分组
        for(int i = 0; i <str.length(); i++){
            char c = str.charAt(i);
            sb.append(c);
            if(sb.length() == n){
                strs2.add(sb.toString());
                sb.setLength(0);
            }
            if(i == str.length() - 1){
                strs2.add(sb.toString());
                sb.setLength(0);
            }
        }

        List<String> ans = new ArrayList<>();
        ans.add(s1);

        //遍历，处理反转
        for(int i = 1; i <strs2.size(); i++){
            String s = strs2.get(i);
            int minNumber =0;
            int maxNumber = 0;
            for(int j = 0; j < s.length(); j++){
                char c = s.charAt(j);
                if(c>='a' && c<='z'){
                    minNumber++;
                }else if(c>='A' && c<='Z'){
                    maxNumber++;
                }
            }
            StringBuilder sb2 = new StringBuilder();
            if(minNumber > maxNumber){
                for(int j = 0; j < s.length(); j++){
                    char c = s.charAt(j);
                    if(c>='A' && c<='Z'){
                        c = Character.toLowerCase(c);
                    }
                    sb2.append(c);
                }
                ans.add(sb2.toString());
            }else if(minNumber < maxNumber){
                for(int j = 0; j < s.length(); j++){
                    char c = s.charAt(j);
                    if(c>='a' && c<='z'){
                        c = Character.toUpperCase(c);
                    }
                    sb2.append(c);
                }
                ans.add(sb2.toString());
            }else{
                ans.add(strs2.get(i));
            }
        }

        StringBuilder answer = new StringBuilder();
        for(int i = 0; i < ans.size(); i++){
            answer.append(ans.get(i));
            if(i != ans.size() - 1){
                answer.append("-");
            }
        }

        System.out.println(answer);
    }
}
